package com.zhuoyue.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuoyue.common.annotation.Excel;
import com.zhuoyue.system.domain.TblDeviceActions;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * ClassName: DeviceManageDO <br/>
 * Description: <br/>
 * date: 2019/2/25 11:26<br/>
 *
 * @author wjming<br />
 * @version 1.0
 */
@Data
public class TblDeviceVo implements Serializable {
    private String id;
    @Excel(name = "手机号")
    private String account;
    @Excel(name = "用户昵称")
    private String nickName;
    private String organizationCode;
    @Excel(name = "网关MAC")
    private String gatewayMac;
    @Excel(name = "网关名称")
    /**
     * 网关的名称
     */
    private String gatewayName;
    @Excel(name = "设备MAC")
    private String deviceMac;
    @Excel(name = "设备名称")
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 类型的设备 zigbee or wifi
     */
    private String type;
    /**
     * 产品类型
     */
    @Excel(name = "设备类型")
    private String deviceType;
    /**
     * 是否在线
     */
    private String isOnline;
    private String content;
    private String spreadingType;
    private String pushType;
    /**
     * 设备数量
     */
    private String deviceCount;
    @Excel(name = "组织名称")
    private String deptName;
    private String timeMonth;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间")
    private String createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间")
    private String modifyTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上报时间")
    private String switchTime;

    private List<TblDeviceActions> actions;

    /**
     * 设备的默认名称
     */
    private String defaultDeviceName;

    /**
     * 0：在网 1：离网 2：逻辑删除
     */
    private String lwbz;

    /**
     * 在线类型, (1强电 2弱电 3其他)
     */
    private String onlineType;
    /**
     * 离线时间(若在线类型是3, 则不需要判断)
     */
    private Integer onlineTime;

    /**
     * 设备当前时间与上报时间的差值(单位秒)
     */
    private Integer diffTime;

    private Long deptId;

}
